/*
 * FileName：SouhuNewsCtrl.java 
 * <p>
 * Copyright (c) 2017-2020 <a href="https://www.smartwx.info">hermit(1154808491@qq.com)</a>.
 * <p>
 * Licensed under the GNU General Public License, Version 3 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.gnu.org/licenses/gpl-3.0.html
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package com.smart.primary.ctrl;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.google.gson.JsonObject;
//import com.smart.common.util.AjaxResult;
//import com.smart.common.util.DateUtil;
//import com.smart.common.util.HttpClientUtils;
//import com.smart.common.util.JSONUtil;
//import com.smart.primary.processor.SouhuProcessor;
//import com.smart.wx.wxcms.entity.WxcmsNews;
//import com.smart.wx.wxcms.service.WxcmsNewsService;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import us.codecraft.webmagic.Spider;
//
//import javax.annotation.Resource;
//import java.util.List;
//import java.util.Map;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
//@RestController
//@RequestMapping("/souhunews")
//public class SouhuNewsCtrl {
//    @Resource
//    private SouhuProcessor souhuProcessor;
//    @Resource
//    private WxcmsNewsService wxcmsNewsService;
//
//    /**
//     * 获取阅读数
//     */
//    public static final String pvUrl="http://v2.sohu.com/public-api/articles/%s/pv";
//
//    /**
//     * 获取24小时热门新闻
//     */
//    public static final String hotNews="http://v2.sohu.com/public-api/hotArticle?scene=CHANNEL&sceneId=%s";
//
//    /**
//     * 搜狐新闻前缀
//     */
//    public static final String souhuNewsUrl="http://www.sohu.com/a/%s_%s";
//
//    /**
//     * 获取搜狐新闻
//     * @return
//     */
//    @RequestMapping("/")
//    public AjaxResult news() {
//        Spider.create(souhuProcessor).addUrl("http://news.sohu.com/").thread(5).run();
//        return AjaxResult.success();
//    }
//
//    /**
//     * 更新阅读数
//     * @return
//     */
//    @RequestMapping("/view")
//    public AjaxResult view() throws Exception{
//        List<WxcmsNews> wxcmsNewsList = wxcmsNewsService.queryList(new WxcmsNews());
//        for (WxcmsNews wxcmsNews : wxcmsNewsList) {
//            String view = HttpClientUtils.sendHttpGet(String.format(this.pvUrl, getNewsId(wxcmsNews.getNewsUrl())));
//            wxcmsNews.setViewTotal(view);
//            wxcmsNewsService.update(wxcmsNews);
//        }
//        return AjaxResult.success();
//    }
//
//    /**
//     * 获取24小时旅游新闻
//     * @return
//     */
//    @RequestMapping("/hotNews")
//    public AjaxResult hotNews() throws Exception{
//        //旅游
//        WxcmsNews wxcmsNews;
//        String hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "29"));
//        JSONArray array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://travel.sohu.com");
//            wxcmsNews.setNewsType("旅游");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "25"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://learning.sohu.com");
//            wxcmsNews.setNewsType("教育");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "23"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://fashion.sohu.com");
//            wxcmsNews.setNewsType("时尚");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "30"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://it.sohu.com");
//            wxcmsNews.setNewsType("科技");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "15"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://business.sohu.com");
//            wxcmsNews.setNewsType("财经");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "26"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://baobao.sohu.com");
//            wxcmsNews.setNewsType("母婴");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "28"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://chihe.sohu.com");
//            wxcmsNews.setNewsType("美食");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "27"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://astro.sohu.com");
//            wxcmsNews.setNewsType("星座");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "12"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://cul.sohu.com");
//            wxcmsNews.setNewsType("文化");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "24"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://health.sohu.com");
//            wxcmsNews.setNewsType("健康");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "13"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://history.sohu.com");
//            wxcmsNews.setNewsType("历史");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "10"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://mil.sohu.com");
//            wxcmsNews.setNewsType("军事");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "43"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://society.sohu.com");
//            wxcmsNews.setNewsType("社会");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "42"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://game.sohu.com");
//            wxcmsNews.setNewsType("游戏");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "45"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://fun.sohu.com");
//            wxcmsNews.setNewsType("搞笑");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "41"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://acg.sohu.com");
//            wxcmsNews.setNewsType("动漫");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        hotNews = HttpClientUtils.sendHttpGet(String.format(this.hotNews, "44"));
//        array = JSONArray.parseArray(hotNews);
//        for (int i = 0; i < array.size(); i++) {
//            wxcmsNews = new WxcmsNews();
//            JSONObject jsonObject = array.getJSONObject(i);
//            wxcmsNews.setNewsOrigin("搜狐");
//            wxcmsNews.setTitle(jsonObject.getString("title"));
//            wxcmsNews.setNewsUrl(String.format(this.souhuNewsUrl, jsonObject.getString("id"), jsonObject.getString("authorId")));
//            wxcmsNews.setPublishTime(DateUtil.timestampToDateStr(jsonObject.getString("publicTime")));
//            wxcmsNews.setNewsTypeUrl("http://pets.sohu.com");
//            wxcmsNews.setNewsType("宠物");
//            wxcmsNewsService.insert(wxcmsNews);
//        }
//        return AjaxResult.success();
//    }
//
//    /**
//     * 获取新闻id
//     * @param msg
//     * @return
//     */
//    public static String getNewsId(String msg){
//        Pattern p = Pattern.compile("(/\\d{9}_)");
//        Matcher m = p.matcher(msg);
//        while(m.find()){
//            return m.group().substring(1, m.group().length()-1);
//        }
//        return null;
//    }
//}
